import request from '@/utils/request'

/**
 * 获取用户信息
 * @returns
 */
export function getUserInfo() {
  return request({
    url: '/authentication/getUserInfo',
    method: 'get'
  })
}

/**
 * 修改用户密码
 * @param {*} data
 * @returns
 */
export function updatePassword(data) {
  return request({
    url: '/user/updatePassword',
    method: 'put',
    data: data
  })
}
/**
 * 获取用户列表
 * @param {*} page
 * @param {*} pageSize
 * @param {*} userDto
 * @returns
 */
export function pageList(page, pageSize, userDto) {
  return request({
    url: '/user/pageList',
    method: 'post',
    params: { page: page, pageSize: pageSize },
    data: userDto
  })
}
/**
 * 新增用户
 * @param {*} formData
 * @returns
 */
export function insertUser(formData) {
  return request({
    url: '/user/insertUser',
    method: 'post',
    headers: {
      'Content-Type': 'multipart/form-data'
    },
    data: formData
  })
}
/**
 * 根据用户id修改用户账号的状态
 * @param {*} userId
 * @param {*} status
 * @returns
 */
export function updateUserStatus(userId, status) {
  return request({
    url: '/user/updateUserStatus',
    method: 'put',
    params: {
      userId,
      status
    }
  })
}
/**
 * 根据用户id删除用户信息
 * @param {*} userId
 */
export function deleteByUserId(userId) {
  return request({
    url: `/user/deleteByUserId/${userId}`,
    method: 'delete'
  })
}

/**
 * 根据用户id获取用户信息回显
 * @param {*} userId
 */
export function findByUserId(userId) {
  return request({
    url: `/user/findByUserId/${userId}`,
    method: 'get'
  })
}
/**
 *
 */
export function updateUser(formData) {
  return request({
    url: '/user/updateUser',
    method: 'put',
    headers: {
      'Content-Type': 'multipart/form-data'
    },
    data: formData
  })
}
/**
 * 根据用户id获取当前用户的角色信息
 * @param {*} userId
 * @returns
 */
export function toAssign(userId) {
  return request({
    url: `/user/toAssign/${userId}`,
    method: 'get'
  })
}

/**
 * 为用户分配角色
 * @param {*} assignUserRoleDto
 * @returns
 */
export function doAssign(assignUserRoleDto) {
  return request({
    url: '/user/doAssign',
    method: 'post',
    data: assignUserRoleDto
  })
}

/**
 * 获取用户信息选项
 * @returns
 */
export function getUserOptions() {
  return request({
    url: '/user/getUserOptions',
    method: 'get'
  })
}
